hhkb
모의해킹

호스트기반모의해킹_12_웹 애플리케이션 진단 기초

작성자 : Heehyeon Yoo|2025-11-24
# 모의해킹# Web# Burp Suite# 정보수집# Brute Force

1. 웹 진단 개요(Web Assessment Overview)

웹은 인터넷 트래픽의 대다수를 차지하는 핵심 도메인이다. 진단의 첫 단계는 대상 어플리케이션의 구조와 기술 스택을 파악하는 것이다.

1.1 Source & Sink 개념

웹 취약점 분석의 핵심 사고방식.

  • Source(입력원): 데이터가 유입되는 지점(예: GET/POST 파라미터, 쿠키, 헤더).
  • Sink(소모지): 유입된 데이터가 실행되거나 반영되는 지점(예: eval(), SQL 쿼리, echo).
  • 진단 전략: 공격자는 Source를 통해 악의적인 입력을 주입하고, Sink에서 의도치 않은 행위가 발생하는지 확인한다.

2. 필수 도구: Burp Suite

HTTP 요청/응답을 가로채고 조작(Intercept)할 수 있는 프록시 도구.

  • Proxy: 브라우저와 서버 간의 트래픽을 중계 및 변조.
  • Repeater: 특정 요청을 반복적으로 수정하여 전송(수동 진단 핵심).
  • Intruder: 페이로드를 자동 대입하여 Fuzzing 또는 Brute Force 수행.

3. 정보 수집(Information Gathering)

3.1 기술 스택 및 버전 식별(Fingerprinting)

서버 헤더나 HTML 소스를 통해 백엔드 기술을 식별한다.

  • 방법:
    1. Response Header: Server: Apache/2.4.41, X-Powered-By: PHP/7.4.
    2. HTML Meta Tag: <meta name="generator" content="WordPress 5.8">.
    3. 도구: Wappalyzer(브라우저 확장 프로그램) 활용.

3.2 robots.txt 분석

  • 목적: 검색 엔진 크롤러에게 특정 경로의 수집을 거부하는 파일.
  • 공격자 관점: 개발자가 숨기고 싶은 "민감한 디렉토리(Admin 페이지 등)" 목록이 명시된 보물지도.
    • 예: Disallow: /admin-secret/ -> 공격 대상 1순위.

3.3 디렉토리 브루트 포싱(Directory Brute Forcing)

공개되지 않은 숨겨진 디렉토리와 파일을 사전 대입 공격으로 찾아낸다.

도구: GoBuster

  • 기본 명령:
    gobuster dir -u [Target_URL] -w [Wordlist_Path]
    
  • 확장자 탐색(-x): 특정 기술 스택(PHP, JSP 등)의 파일까지 찾기 위해 확장자 옵션 사용.
    gobuster dir -u http://10.10.10.10 -w common.txt -x php,txt,bak
    
  • 상태 코드 필터링(-s): 불필요한 응답(404 등)을 제외하고 유효한 응답(200, 301, 302)만 확인.
    gobuster dir -u ... -s 200,301,302
    

4. 실무에서는?

  1. 재귀적 스캔(Recursive Scan) 주의:
    • GoBuster는 기본적으로 재귀 스캔(찾은 디렉토리 내부를 또 스캔)을 하지 않는다.
    • 재귀 스캔은 트래픽을 기하급수적으로 늘려 DoS(서비스 거부)를 유발할 수 있으므로, 의심스러운 경로만 선별하여 수동으로 재 스캔한다.
  2. 스레드(Thread) 조절:
    • 빠른 속도를 위해 스레드를 100개 이상으로 높이면 백엔드 서버(특히 구형 WAS)가 뻗을 수 있다. 10~50 정도로 안정성을 유지해야 한다.
  3. 기술 스택 맞춤형 사전:
    • PHP 서버에 JSP 파일 확장자를 검색하는 것은 리소스 낭비다. 3.1 단계에서 식별한 스택에 맞춰 -x 옵션을 최적화해야 한다.